// ++++++++++++++++++++++++++++++++++++++++
// 《零基础Go语言算法实战》源码
// ++++++++++++++++++++++++++++++++++++++++
// Author:廖显东（ShirDon）
// Blog:https://www.shirdon.com/
// Gitee:https://gitee.com/shirdonl/goAlgorithms.git
// Buy link :https://item.jd.com/14101229.html
// ++++++++++++++++++++++++++++++++++++++++

package main

import "fmt"

// 此函数使用插入排序算法对整数切片进行排序
func insertionSort(array []int) {
	// 获取整数切片的长度
	length := len(array)
	// 遍历切片中的每个元素
	for i := 1; i < length; i++ {
		// 将当前元素与它之前的已排序元素进行比较
		for j := 0; j < i; j++ {
			// 如果当前元素小于已排序元素，交换它们
			if array[j] > array[i] {
				array[j], array[i] = array[i], array[j]
			}
		}
	}
}

func main() {
	array := []int{99, 66, 57, 89, 36, 69, 98}
	insertionSort(array)
	fmt.Println(array)
}

//$ go run insertionSort.go
//[36 57 66 69 89 98 99]
